package com.classes.accessflags;

/**
 * @author chuer
 * @version V1.0
 * @Description: 访问标识枚举
 * @date 2015年4月21日 下午4:34:27
 */
public enum AccessFlagsEnum {

    ACC_PUBLIC(0x0001),//1
    ACC_FINAL(0x0010),//16
    ACC_SUPER(0x0020),//32
    ACC_INTERFACE(0x0200),//512
    ACC_ABSTRACT(0x0400),//1024
    ACC_SYNTHETIC(0x1000),//4096
    ACC_ANNOTATION(0x2000),//8192
    ACC_ENUM(0x4000),//16384
    ;
    private int flag;

    private AccessFlagsEnum(int flag) {
        this.flag = flag;
    }

    public int getFlag() {
        return this.flag;
    }


    public static AccessFlagsEnum getAccessFlag(int flag) {
        for (AccessFlagsEnum af : AccessFlagsEnum.values()) {
            if (af.getFlag() == flag) {
                return af;
            }
        }
        return null;
    }


}
